1. Field of the Invention
The present invention relates to a knowledge provider system having a stored database (i.e., knowledge base), which can be accessed to obtain information relating to specific subjects by sending information request messages in accordance with a set of predetermined rules, sometimes referred to as a rule base, and to a corresponding knowledge providing method.
In particular, the invention relates to a knowledge provider system in which the knowledge base is distributed throughout a plurality of separate knowledge provider data processing apparatuses which mutually communicate with one another and with users of the system via a data communication network.
2. Description of Prior Art
In the prior art, there have been various proposals for overcoming the disadvantages of a basic type of knowledge provider system in which a single knowledge provider apparatus (i.e., server) stores a knowledge base whose contents can be accessed by sending to the knowledge provider apparatus information request messages which are in accordance with rules that have been predetermined for that knowledge provider apparatus. With one technique, as described in Japanese patent HEI 10-21264, such a single knowledge provider agent (server) is connected via a data communication network to one or more data processing installations each of which store a knowledge base, with that server being able to obtain requisite information from these other installations, when required for the purpose of responding to information request messages from users. However with such a system, utilizing centralized control based on a single server, the disadvantage remains that any failure of the knowledge server will result in complete breakdown of the system as a whole.
With another prior art proposal which is described in Japanese patent HEI 6-4287, a plurality of knowledge bases, with respective rule bases, are held stored at a knowledge provider apparatus. When a message requesting information is received from a user, then the contents of that message are evaluated by the knowledge provider apparatus, and an appropriate one of the plural knowledge bases is read out from storage, to be searched to obtain the required information. In that way, it becomes possible to achieve increased efficiency and speed of operation, by selecting the knowledge base that is to be searched based upon such factors as the category of the information which is to be searched for, degree of complexity of search conditions which may be specified, etc. However such a knowledge provider system again has the basic disadvantage of centralized control of the overall system, as described above.
A further disadvantage of such prior art types of knowledge provider system is that it is necessary that any message requesting information, sent by a user, must in general be exactly in accordance with the predetermined rules for that particular knowledge provider system, e.g., must use a specific syntax for the message contents. Thus, even if two or more of such knowledge provider systems (for example configured as "expert systems") are connected to a data communication network, such that they can be freely accessed by users of the network, it is inconvenient for the users to access these knowledge provider systems by generating information request messages which must be strictly in accordance with respectively different sets of rules.
Furthermore, the operation and configuration of such a prior art type of knowledge provider system based on centralized control becomes substantially more complex if system security is important, i.e., if it is necessary that access to certain parts of the knowledge base be restricted in some manner, rather than being freely available to the public.
There is therefore a requirement for a knowledge provider system which overcomes the disadvantages of the prior art by enabling:
(a) decentralized control, so-that the failure of a single data processing installation will not result in breakdown of the overall system, PA1 (b) greater flexibility of use, by permitting some degree of variation in the rules concerning request messages which are submitted to the system from users, and PA1 (c) ease of implementing system access security measures. PA1 script storage means having stored therein a script containing message processing information and respective identifiers of a plurality of knowledge provider agents which have been assigned as respective propagation destination agents of said agent, said message processing information comprising a Message segment, a Rule segment and a Knowledge segment, said Message segment containing a plurality of message format descriptors respectively corresponding to a format of a user request message that is received from a user apparatus, to a format of a propagation message that is received from another one of said agents, and to a format of a response message which is received from another one of said agents, said Rule segment containing at least one content format descriptor, and said Knowledge segment containing at least one knowledge combination formed of a query item and a response information set corresponding to said query item, and PA1 script execution and message handling means for PA1 obtaining said script from said script storage means when a message is received via said network by said agent, and executing a first pattern matching of said received message with the contents of said Message segment, PA1 when said received message is found to match one of said user request message format descriptor and propagation message format descriptor, executing a second pattern matching of comparing said content portion of said message with the contents of said Rule segment, and when said received message content portion is found to match said content format descriptor, extracting at least one character string from a section of said message content portion that is indicated by said Rule segment contents, and executing a third pattern matching of said extracted character string against said query item, and when matching success is achieved for each of said first, second and third matching operations, generating a response message having said response information set as the content portion thereof and having the sender identifier of said received request message as the destination identifier thereof, and transmitting said response message via said network, PA1 when said received message is found to match said user request message format descriptor and at least one of said matching operations is not successful, registering the identifier of the user apparatus that is the sender of said message, originating a plurality of propagation messages having said identifiers of said propagation destination agents as respective destination identifiers thereof, with each propagation message having said received message content portion as the content portion thereof, and transmitting said propagation messages via said network, PA1 when said received message is found to match said propagation message format descriptor and at least one of said matching operations is not successful, redirecting said propagation message to each of said propagation destination agents, with said sender identifier of the received message left unchanged, and transmitting the resultant propagation messages via said network, and PA1 when said received message is found to match said response message format descriptor, obtaining a previously registered identifier of a user apparatus, generating a response message having the content portion of said received message as the content portion thereof and said user apparatus identifier as the destination identifier thereof, and transmitting said response message via said network. PA1 when a received message is found to match said processing information acquisition request message format descriptor, generating a plurality of processing information acquisition messages having respective identifiers of said propagation destination agents as the destination identifiers thereof, each having the content portion of said received message as the content portion thereof, and transmitting said messages via said network, PA1 when a received message is found to match said processing information acquisition message format descriptor, executing at least one of said second and third matching operations, as predetermined for said processing information acquisition message format descriptor, and when each of said matching operations have been successful, extracting from said script a part of said processing information, as predetermined for said processing information acquisition message format descriptor, generating a processing information response message having said extracted processing information as the content portion thereof and having the sender identifier of said received message as the destination identifier thereof, and transmitting said response message via said network, PA1 when a received message is found to match said processing information response message format descriptor, extracting said content portion of said received message and supplying said content portion to said script combining means, to be combined with said processing information of said script. PA1 when a received message is found to match said processing information acquisition message format descriptor, executing at least one of said second and third matching operations, as predetermined for said processing information acquisition message format descriptor, and when each of said matching operations have been successful, extracting a part of said processing information, as predetermined for said processing information acquisition message format descriptor, generating a processing information response message having said extracted processing information as the content portion thereof and having the sender identifier of said received message as the destination identifier thereof, and transmitting said response message via said network, and, PA1 when a received message is found to match said processing information response message format descriptor, extracting said specific processing information from said received message and supplying said specific processing information to said script combining means, to be combined with said processing information of said script. PA1 when said second matching operation is not successful, reading out one of said alias character strings for one of said data fields, from said message content expansion means, replacing a character string which is currently defined for said field in said content format descriptor by said alias character string which is read out, and re-executing said second matching operation. PA1 script group storage means for storing a plurality of respectively different scripts each having a Knowledge segment, Rule segment, Message segment and identifiers of assigned propagation destination agents, PA1 replacement control script storage means for storing a replacement control script having a script selection segment formed of a plurality of content format descriptors each predetermined as corresponding to one of said plurality of scripts held in said script group storage means and having a related script segment formed of at least one content format descriptor, with each of said content format descriptors of the related script segment being linked to at least one of said content format descriptors of the script selection segment, and PA1 script storage section control means coupled to each of said script storage means, script group storage means and replacement control script storage means, functioning in conjunction with said script execution and message handling means to control transfer of scripts between said script group storage means and script storage means, PA1 said script storage section control means in conjunction with said script execution means comprising means for PA1 when a received message has been found to match one of said user request message format descriptor and propagation message format descriptor and said second and third matching operations have been executed, temporarily registering any response information set which is obtained as a result of said matching operations, and executing a script selection operating sequence of PA1 matching said content portion of said received message against the contents of said script selection segment of said replacement control script, PA1 when said content portion is found to match one of said content format descriptors of said script selection segment, deleting the script which is currently held in said script storage means, reading out from said script group storage means the one of said scripts which corresponds to said matching content format descriptor of the script selection segment, and loading said script into said script storage means, and PA1 executing said second and third matching operations of said message content portion against said script which has been loaded into said script storage means, and temporarily registering any response information set which is obtained as a result of said matching operations, and matching said content portion of said received message; PA1 matching said message content portion against the contents of said related script segment of said replacement control script, PA1 when said content portion is found to match one of said content format descriptors of said related script segment, identifying a format descriptor of said script selection segment which is lined to said matching format descriptor of the related script segment, identifying a script corresponding to said identified format descriptor, loading said identified script into said script storage means, executing said second and third matching operations of said message content content portion against said script which has been loaded into said script storage means, and temporarily registering any response information set which is obtained thereby, and PA1 generating a response message having the sender identifier of said received message as the destination identifier thereof and having all of said obtained response information sets as the content portion thereof, and transmitting said response message via said network. PA1 storing beforehand at said agent a script containing message processing information and respective identifiers of a plurality of knowledge provider agents which have been assigned as respective propagation destination agents of said agent, said message processing information comprising a Message segment, a Rule segment and a Knowledge segment, said Message containing a plurality of message format descriptors respectively corresponding to a format of a user request message that is received from a user apparatus, to a format of a propagation message that is received from another one of said agents, and to a format of a response message which is received from another one of said agents, said Rule segment containing at least one content format descriptor, and said Knowledge segment containing at least one knowledge combination formed of a query item and an information set which is linked to said query item, and controlling said each agent for PA1 obtaining said stored script when a message is received via said network by said agent, and executing a first matching operation of comparing said received message with the contents of said Message segment, PA1 when said received message is found to match one of said user request message format descriptor and propagation message format descriptor, executing a second matching operation of comparing said content portion of said message with the contents of said Rule segment, and when said received message content portion is found to match said content format descriptor, extracting at least one character string from a section of said message content portion that is indicated by said Rule segment contents and executing a third matching operation of comparing said extracted character string with said query item, and when matching success is achieved for each of said first, second and third matching operations, generating a response message having said response information set as the content portion thereof and having the sender identifier of said received request message as the destination identifier thereof, and transmitting said response message via said network, PA1 when said received message is found to match said user request message format descriptor and at least one of said matching operations is not successful, registering the identifier of the user apparatus that is the sender of said message, originating a plurality of propagation messages having said identifiers of said propagation destination agents as respective destination identifiers thereof, with each propagation message having said received message content portion as the content portion thereof and having the identifier of said each knowledge provider agent as the sender identifier thereof, and transmitting said propagation messages via said network, PA1 when said received message is found to match said propagation message format descriptor and at least one of said matching operations is not successful, redirecting said propagation message to each of said propagation destination agents, with said sender identifier of the received message left unchanged, and transmitting the resultant propagation messages via said network, and PA1 when said received message is found to match said response message format descriptor, obtaining a previously registered identifier of a user apparatus, generating a response message having the content portion of said received message as the content portion thereof and said user apparatus identifier as the destination identifier thereof, and transmitting said response message via said network.